Progressive Enhancement
https://developer.mozilla.org/ja/docs/Glossary/Progressive_Enhancement
可能な限り多くのユーザーに不可欠なコンテンツと機能のベースラインを提供することを中心とした設計哲学
必要なすべてのコードを実行できる最新のブラウザーのユーザーに限り、最高の体験を提供
プログレッシブエンハンスメントの「プログレッシブ」
古いブラウザーや機能の限られた端末のユーザーには、よりシンプルでありながら良い使い勝手を実現
新しいブラウザーや機能が豊富な端末のユーザーには、より魅力的で充実したものへ使い勝手を進化させる
実現例
React(Next.js): Server Actions
SvelteKit: Form actions
JavaScript を使用しない(または無効)状態でも <form> の本質的な機能を損なわないようにする
具体的には、action 属性を渡すことで、Hydration 前にフォーム送信が可能に
必要に応じて、Hydration 後によりリッチなインタラクションを提供することも可能
よりリッチなインタラクション
e.g. クライアントサイドによるバリデーション